Skip to content

Optimize VM hot paths for net10#551

Merged
Jim8y merged 5 commits intomasterfrom
perf/vm-net10-hotpaths
Jan 25, 2026
Merged

Optimize VM hot paths for net10#551
Jim8y merged 5 commits intomasterfrom
perf/vm-net10-hotpaths

Conversation

@Jim8y
Copy link
Copy Markdown
Contributor

@Jim8y Jim8y commented Jan 24, 2026

Summary

  • avoid double instruction lookup per opcode step by advancing the instruction pointer directly
  • add dedicated microbenchmarks for VM hot paths

Benchmarks

  • added: benchmarks/Neo.VM.Benchmarks/Benchmarks_VMHotPaths.cs
  • example report: BenchmarkDotNet.Artifacts/results/Neo.VM.Benchmarks.Benchmarks_InstructionAdvance-report-github.md

Testing

NEO_VM_BENCHMARK=1 dotnet run -c Release --project benchmarks/Neo.VM.Benchmarks -- --filter '*InstructionAdvance*' --job medium

@Jim8y Jim8y closed this Jan 24, 2026
@Jim8y Jim8y reopened this Jan 24, 2026
@Jim8y
Copy link
Copy Markdown
Contributor Author

Jim8y commented Jan 24, 2026

MediumRun (net10) still shows a clear win for the instruction‑pointer change:

  • 1024: 26.06 us → 17.44 us
  • 4096: 54.15 us → 41.87 us
  • 16384: 167.38 us → 132.22 us

@Jim8y Jim8y merged commit c462371 into master Jan 25, 2026
6 checks passed
@Jim8y Jim8y deleted the perf/vm-net10-hotpaths branch January 25, 2026 10:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants